//Hung Nguyen 
//Jeremy Sardoma
//Matthew Alcazar

#include <stdio.h>  
#include <gl\glut.h>
#include <math.h>
#include <iostream>
#include <Windows.h>
#include "Vector.cpp"

class Ship {
public:  //can set to private later...set to public so we can print for testing purposes
	
	//Quality of the objects	
	bool hidden ;
	float slices;
	float stacks;
	float rings;
	Vector Pos;
	float angleHorizontal;
	float angleVertical;
	float angleAt;
	Vector mRotationAxis;

	float rotate_X;	
	float rotate_Y;
	float rotate_Z;
	bool ViewDirChanged;
	GLfloat XRot, YRot, ZRot;

	bool gravity;
	bool turbo;

	int modelListId;  // display list for axis

public:
	Ship();
	Ship(float a, float b, float c);
	void Draw();
	void RotateHorizontal(GLfloat AdditionAngle);
	void RotateVertical(GLfloat AdditionAngle);
	void RotateAt(GLfloat AdditionAngle);
	void Forward(GLfloat Distance);
	void RotateToward(Vector target);
	void MoveForward(int distance);
};
